///////////////////////////////////////////////////////////////////////////////
//-----------------------------------------------------------------------------
#ifndef TEXTURE_H
#define TEXTURE_H

//-----------------------------------------------------------------------------

#include <Config.h>
#include <string>

//-----------------------------------------------------------------------------

class Texture
{
private:
	u16				m_width, m_height;
	GLuint			m_texID;
	GLenum			m_type, m_format;
	std::string		m_filename;

	bool			loaded;
	void			setLoaded(bool load)	{	loaded = load;	}

public:

					Texture ();
					Texture ( std::string name );
	void			Release ();

	bool			isLoaded()				{	return loaded;	}

	bool			Load ( GLuint texId );
	bool			Load ( std::string& filename );
	bool			IsThisTexture( std::string& filename );

	GLuint			GetTextureId();

	void			bind ( GLenum texture = 0 );

};

#endif
//-----------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////////////////
